home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / bay / Bay.jar / Bullet.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-01-11  |  2.8 KB  |  153 lines

  1. import java.io.IOException;
  2. import javax.microedition.lcdui.Graphics;
  3. import javax.microedition.lcdui.Image;
  4.  
  5. public class Bullet {
  6.    public static final int STATE_LIVE = 0;
  7.    public static final int STATE_EXPLOSION = 1;
  8.    public static final int STATE_KILL = 2;
  9.    // $FF: renamed from: dx int
  10.    private int field_0;
  11.    // $FF: renamed from: dy int
  12.    private int field_1;
  13.    private int dx2;
  14.    private int dy2;
  15.    private int x_inc;
  16.    private int y_inc;
  17.    private int error;
  18.    private int index;
  19.    private int shot;
  20.    private int positionX = 0;
  21.    private int positionY = 0;
  22.    private int state = 2;
  23.    private int frame = 0;
  24.    private int idBullet;
  25.    public static Image[] image;
  26.  
  27.    public Bullet(int var1) {
  28.       this.idBullet = var1;
  29.    }
  30.  
  31.    protected boolean CheckCollision(Gun var1) {
  32.       int var2 = ((Sprite)var1).getPositionX();
  33.       int var3 = ((Sprite)var1).getPositionY();
  34.       int var4 = ((Sprite)var1).getWidth();
  35.       int var5 = ((Sprite)var1).getHeight();
  36.       return (var2 > this.positionX && var2 < this.positionX + 7 || this.positionX > var2 && this.positionX < var2 + var4) && (var3 > this.positionY && var3 < this.positionY + 7 || this.positionY > var3 && this.positionY < var3 + var5);
  37.    }
  38.  
  39.    public int GetState() {
  40.       return this.state;
  41.    }
  42.  
  43.    public void Initialize(int var1, int var2, int var3, int var4, int var5) {
  44.       this.positionX = var1;
  45.       this.positionY = var2;
  46.       this.field_0 = var3 - var1;
  47.       this.field_1 = var4 - var2;
  48.       this.state = 0;
  49.       if (this.field_0 >= 0) {
  50.          this.x_inc = var5;
  51.       } else {
  52.          this.x_inc = -var5;
  53.          this.field_0 = -this.field_0;
  54.       }
  55.  
  56.       if (this.field_1 >= 0) {
  57.          this.y_inc = var5;
  58.       } else {
  59.          this.y_inc = -var5;
  60.          this.field_1 = -this.field_1;
  61.       }
  62.  
  63.       this.dx2 = this.field_0 << 1;
  64.       this.dy2 = this.field_1 << 1;
  65.       this.index = 0;
  66.       if (this.field_0 > this.field_1) {
  67.          this.shot = 1;
  68.          this.error = this.dy2 - this.field_0;
  69.       } else {
  70.          this.shot = 2;
  71.          this.error = this.dx2 - this.field_1;
  72.       }
  73.  
  74.    }
  75.  
  76.    public void SetState(int var1) {
  77.       this.state = var1;
  78.    }
  79.  
  80.    public void draw(Graphics var1) {
  81.       if (this.state == 0) {
  82.          var1.setColor(255, 255, 0);
  83.          var1.fillRect(this.positionX, this.positionY, 2, 2);
  84.       } else if (this.state == 1) {
  85.          if (this.frame == 0) {
  86.             this.positionX -= 3;
  87.             this.positionY -= 3;
  88.          }
  89.  
  90.          var1.drawImage(image[this.frame], this.positionX, this.positionY, 20);
  91.          ++this.frame;
  92.          if (this.frame == 3) {
  93.             this.state = 2;
  94.             this.frame = 0;
  95.          }
  96.       }
  97.  
  98.    }
  99.  
  100.    public int getPositionX() {
  101.       return this.positionX;
  102.    }
  103.  
  104.    public int getPositionY() {
  105.       return this.positionY;
  106.    }
  107.  
  108.    public static void initResources() throws IOException {
  109.       image = new Image[3];
  110.  
  111.       for(int var0 = 0; var0 < 3; ++var0) {
  112.          image[var0] = Image.createImage("/expl" + var0 + ".png");
  113.       }
  114.  
  115.    }
  116.  
  117.    public void setPosition(int var1, int var2) {
  118.       this.positionX = var1;
  119.       this.positionY = var2;
  120.    }
  121.  
  122.    public void update() {
  123.       if (this.state == 0) {
  124.          if (this.shot == 1) {
  125.             if (this.error >= 0) {
  126.                this.error = -this.dx2;
  127.                this.positionY += this.y_inc;
  128.             }
  129.  
  130.             this.error += this.dy2;
  131.             this.positionX += this.x_inc;
  132.             this.index += Math.abs(this.x_inc);
  133.             if (this.index > this.field_0) {
  134.                this.state = 1;
  135.             }
  136.          } else {
  137.             if (this.error >= 0) {
  138.                this.error = -this.dy2;
  139.                this.positionX += this.x_inc;
  140.             }
  141.  
  142.             this.error += this.dx2;
  143.             this.positionY += this.y_inc;
  144.             this.index += Math.abs(this.y_inc);
  145.             if (this.index > this.field_1) {
  146.                this.state = 1;
  147.             }
  148.          }
  149.       }
  150.  
  151.    }
  152. }
  153.